#include <stdio.h>

#include "util.h"
#include "vendors.h"

struct product_t {

   char *code;
   int num;

};

typedef struct pedido_t {

   float value;
   int products;
   int num;
   struct product_t product[20];

} PEDIDO;

int main(void) {

   VENDORS *vendors,vendor;
   PEDIDO pedido;
   char buffer[1024],*_buffer;
   int i=0,option,j=0;

   pedido.num=0;
   pedido.products=0;

   printf("PROGRAMA DE PEDIDOS ____________________________________\n\n");
   printf("Procurar vendedora: ");

   _buffer = get_str();

   if( (vendors = search_vendors(_buffer)) != NULL) {

      printf("\n");
      while(vendors[i].active == 1) {

         printf("\t %d. %s\n", i+1, vendors[i].name);

      i++;
      }

      printf("\t 0. Nenhum das anteriores\n");

      scanf("%d", &option); getchar();

      if(option > 0) {

         vendor.name = vendors[option].name;
         vendor.code = vendors[option].code;
         vendor.active = 1;

      }

   }

   if(vendor.active != 1) {

      printf("adicionar... \n"); exit(0);

   }

   printf("Valor: ");
   scanf("%f",  &pedido.value); getchar();

   printf("________________________\n"
          "PEDIDO -----------------\n"
          "------------------------\n\n");

   while( strcmp(_buffer, "-1") != 0 ) {

      printf("Codigo: ");
      _buffer = get_str();
      if(strcmp(_buffer, "-1") == 0) break;
      pedido.product[j].code = strdup(_buffer);

      printf("Quantidade: ");
      _buffer = get_str();

      pedido.product[j].num = atoi(_buffer);

      printf("\n");
      pedido.products = pedido.products + atoi(_buffer);
      pedido.num++;
      j++;

   }

   printf("________________________\n"
          "Confirmar pedido\n\n");

   while( confirm_order(pedido) != 1);

}
